package cn.core.sign.service.intf;

import cn.core.sign.eo.Sessions;
import cn.core.sign.qo.SessionsQO;
import cn.core.sign.vo.SessionsVO;
import cn.core.tool.util.Paging;
import cn.core.tool.util.Param;

import java.util.Collection;

/**
 * 会话 服务接口
 */
public interface ISessionsService {

  /**
   * 会话 >>> 保存
   */
  public Sessions save(Sessions eo) throws Exception;

  /**
   * 会话 >>> 批量保存
   */
  public Collection<Sessions> saveBatch(Collection<Sessions> eos) throws Exception;

  /**
   * 会话 >>> 修改
   */
  public Sessions update(Sessions eo) throws Exception;

  /**
   * 会话 >>> 批量修改
   */
  public Collection<Sessions> updateBatch(Collection<Sessions> eos) throws Exception;

  /**
   * 会话 >>> 删除
   */
  public void remove(Sessions eo) throws Exception;

  /**
   * 会话 >>> 批量删除
   */
  public void removeBatch(Collection<Sessions> eos) throws Exception;

  /**
   * 会话 >>> 数据量
   */
  public Long count(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 主键查询
   */
  public Sessions pk(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 查询
   */
  public Collection<Sessions> query(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 分页
   */
  public Paging<Sessions> paging(Param<SessionsQO> param) throws Exception;

  /**
   * 会话 >>> 业务数据量
   */
  public Long countVo(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 业务主键查询
   */
  public SessionsVO pkVo(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 业务查询
   */
  public Collection<SessionsVO> queryVo(SessionsQO qo) throws Exception;

  /**
   * 会话 >>> 业务分页
   */
  public Paging<SessionsVO> pagingVo(Param<SessionsQO> param) throws Exception;

}
